/*Copyright (C) 2013-2020 LZE*/
#include<bits/stdc++.h>
#define INF 0x7f7f7f7f
using namespace std;
typedef long long ll;
struct node{
	node(){}
	node(int x,int y){
		n=x;s=y;
	}
	int n,s;
};
stack<node>s;
int n,a[8000000];
int main() {
	scanf("%d",&n);
	int t;
	for(int i=1;i<=n;i++){
		scanf("%d",&t);
		node p;p.n=t;p.s=i;
		if(s.empty())s.push(p);
		else{
			while(!s.empty()&&s.top().n<t){
				a[s.top().s]=i;
				s.pop();
			}
			s.push(p);
		}
	}
	for(int i=1;i<=n;i++)cout<<a[i]<<" ";
	return 0;
}